MPI_IBSEND, MPI_Ibsend Purpose Performs a nonblocking buffered mode send operation. C synopsis #include int MPI_Ibsend(void* buf,int count,MPI_Datatype datatype, int dest,int tag,MPI_Comm comm,MPI_Request *request); C++ synopsis #include mpi.h MPI::Request MPI::Comm::Ibsend(const void* buf, int count, const MPI::Datatype& datatype, int dest, int tag) const; FORTRAN synopsis include 'mpif.h' or use mpi MPI_IBSEND(CHOICE BUF,INTEGER COUNT,INTEGER DATATYPE,INTEGER DEST, INTEGER TAG,INTEGER COMM,INTEGER REQUEST,INTEGER IERROR) Description MPI_IBSEND starts a buffered mode, nonblocking send. The send buffer may not be modified until the request has been completed by MPI_WAIT, MPI_TEST, or one of the other MPI wait or test functions. Parameters buf is the initial address of the send buffer (choice) (IN) count is the number of elements in the send buffer (integer) (IN) datatype is the datatype of each send buffer element (handle) (IN) dest is the rank of the destination task in comm (integer) (IN) tag is the message tag (positive integer) (IN) comm is the communicator (handle) (IN) request is the communication request (handle) (OUT) IERROR is the FORTRAN return code. It is always the last argument. Notes Make sure you have enough buffer space available. An error occurs if the message must be buffered and there is there is not enough buffer space. The amount of buffer space needed to be safe depends on the expected peak of pending messages. The sum of the sizes of all of the pending messages at that point plus (MPI_IBSEND_OVERHEAD*number_of_messages) should be sufficient. Avoid using MPI_IBSEND if possible. It adds overhead because it requires an extra memory-to-memory copy of the outgoing data. If MPI_IBSEND is used, the associated receive operations may perform better with MPI_CSS_INTERRUPT enabled. Errors Invalid count count < 0 Invalid datatype Invalid destination Type not committed dest < 0 or dest > = groupsize Invalid tag tag < 0 Invalid comm MPI not initialized MPI already finalized Develop mode error if: Illegal buffer update Related information MPI_BSEND MPI_BSEND_INIT MPI_BUFFER_ATTACH MPI_WAIT